package com.cloudbroker.bcs.platform.dav.bizapi.t2service.export;

import com.cloudbroker.bcs.platform.dav.bizapi.service.base.vo.CodeForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.export.vo.request.*;
import com.cloudbroker.bcs.platform.dav.bizapi.service.export.vo.response.*;
import com.hundsun.jresplus.remoting.impl.annotation.Service;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceModule;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceParam;

/**
 * Created by xuyn15828 on 2016/5/12.
 */
@ServiceModule
public interface YunxinT2BizService {

    /**
     * 创建云信ID
     * */
    @Service(functionId = "5070607" , desc = "创建云信ID")
    public CreateAccountBackVo createAccount(@ServiceParam("param") CreateAccountForm param);

    /**
     * 更新云信ID
     * */
    @Service(functionId = "5070608" , desc = "更新云信ID")
    public CodeBackVo updateAccount(@ServiceParam("param") CreateAccountForm param);

    /**
     * 更新并获取云信ID
     * */
    @Service(functionId = "5070609" , desc = "更新并获取云信ID")
    public UpdateAccountBackVo updateAndGetAccount(@ServiceParam("param") CodeForm param);

    /**
     * 封禁云信ID
     * */
    @Service(functionId = "5070610" , desc = "封禁云信ID")
    public CodeBackVo closureAccount(@ServiceParam("param") AccidForm param);

    /**
     * 解禁云信ID
     * */
    @Service(functionId = "5070611" , desc = "解禁云信ID")
    public CodeBackVo unbanAccount(@ServiceParam("param") AccidForm param);

    /**
     * 更新用户名片
     * */
    @Service(functionId = "5070612" , desc = "更新用户名片")
    public CodeBackVo updateUserInfo(@ServiceParam("param") UserInfoForm param);

    /**
     * 创建聊天室
     * */
    @Service(functionId = "5070613" , desc = "创建聊天室")
    public ChatroomBackVo createRoom(@ServiceParam("param") EditRoomForm param);

    /**
     *  查询聊天室信息
     * */
    @Service(functionId = "5070614" , desc = "查询聊天室信息")
    public ChatroomBackVo queryRoomInfo(@ServiceParam("param") QueryRoomInfoForm param);

    /**
     * 更新聊天室信息
     * */
    @Service(functionId = "5070615" , desc = "更新聊天室信息")
    public ChatroomBackVo updateRoomInfo(@ServiceParam("param") EditRoomForm param);

    /**
     * 修改聊天室开/关闭状态
     * */
    @Service(functionId = "5070616" , desc = "修改聊天室开/关闭状态")
    public ChatroomBackVo updateRoomStatus(@ServiceParam("param") UpdateRoomStatusForm param);

    /**
     *  设置聊天室内用户角色
     * */
    @Service(functionId = "5070617" , desc = "设置聊天室内用户角色")
    public SetMemberRoleBackVo setMemberRole(@ServiceParam("param") SetMemberRoleForm param);

    /**
     * 请求聊天室地址
     * */
    @Service(functionId = "5070618" , desc = "请求聊天室地址")
    public GetChatroomAddrBackVo getChatroomAddr(@ServiceParam("param") GetChatroomAddrForm param);

    /**
     * 发送聊天室信息
     * */
    @Service(functionId = "5070619" , desc = "发送聊天室信息")
    public SendChatroomMsgBackVo sendChatroomMsg(@ServiceParam("param") SendChatroomMsgForm param);

    /**
     * P2P聊天黑名单/静音
     * */
    @Service(functionId = "5070620" , desc = "P2P聊天黑名单/静音")
    public CodeBackVo setSpecialRelation(@ServiceParam("param") SetSpecialRelationForm param);


}
